export default {
  // 此处编写的就是  vue组件实例的配置项 通过一定语法，可以直接混入到组件内部
  // data methods  computed 生命周期函数 ...
  // 注意点：如果此处和组件内，提供了同盟的data或者methods，则组件内优先级更高
  // 如果编写了生命周期函数，则mixins中的生命周期函数和页面的生命周期函数，会用数组管理，统一都执行，不会冲突
  data () {
    return {}
  },
  methods: {
    // 根据登录状态，判断是否需要登录确认框
    // 1.如果未登录=》显示确认框  返回true
    // 2.如果登录=》啥也不干  返回false
    loginConfirm () {
      if (!this.$store.getters.token) {
        // 不存在
        this.$dialog.confirm({
          title: '温馨提示',
          message: '先登录才能操作',
          confirmButtonText: '去登录',
          cancelButtonText: '去逛逛'
        })
          .then(() => {
            // on confirm
            // 如果希望，跳转到登录=》登陆后能回跳回来，需要在跳转的时候携带参数（当前路径地址）
            // this.$route.fullPath（带参数的地址，用这个）
            this.$router.replace({
              path: '/login',
              query: {
                backUrl: this.$route.fullPath
              }
            })
          })
          .catch(() => {
            // on cancel
          })
        return true
      }
      return false
    }
  }
}
